; RUN: llvm-rc -no-preprocess /FO %t -- %p/Inputs/tag-versioninfo.rc
; RUN: llvm-readobj %t | FileCheck %s

; CHECK:      Resource type (int): VERSIONINFO (ID 16)
; CHECK-NEXT: Resource name (int): 1
; CHECK-NEXT: Data version: 0
; CHECK-NEXT: Memory flags: 0x30
; CHECK-NEXT: Language ID: 1033
; CHECK-NEXT: Version (major): 0
; CHECK-NEXT: Version (minor): 0
; CHECK-NEXT: Characteristics: 0
; CHECK-NEXT: Data size: 672
; CHECK-NEXT: Data: (
; CHECK-NEXT:   0000: A0023400 00005600 53005F00 56004500  |..4...V.S._.V.E.|
; CHECK-NEXT:   0010: 52005300 49004F00 4E005F00 49004E00  |R.S.I.O.N._.I.N.|
; CHECK-NEXT:   0020: 46004F00 00000000 BD04EFFE 00000100  |F.O.............|
; CHECK-NEXT:   0030: 02000100 04000300 06000500 00000700  |................|
; CHECK-NEXT:   0040: 32000000 2B020000 6E000000 237A0800  |2...+...n...#z..|
; CHECK-NEXT:   0050: 0E000000 00000000 00000000 00020000  |................|
; CHECK-NEXT:   0060: 01005300 74007200 69006E00 67004600  |..S.t.r.i.n.g.F.|
; CHECK-NEXT:   0070: 69006C00 65004900 6E006600 6F000000  |i.l.e.I.n.f.o...|
; CHECK-NEXT:   0080: DC010000 01003000 34003000 39003000  |......0.4.0.9.0.|
; CHECK-NEXT:   0090: 34004500 34000000 24000200 01004300  |4.E.4...$.....C.|
; CHECK-NEXT:   00A0: 6F006D00 70006100 6E007900 4E006100  |o.m.p.a.n.y.N.a.|
; CHECK-NEXT:   00B0: 6D006500 00000000 61000000 50001400  |m.e.....a...P...|
; CHECK-NEXT:   00C0: 01004600 69006C00 65004400 65007300  |..F.i.l.e.D.e.s.|
; CHECK-NEXT:   00D0: 63007200 69007000 74006900 6F006E00  |c.r.i.p.t.i.o.n.|
; CHECK-NEXT:   00E0: 00000000 62006300 00006400 00006500  |....b.c...d...e.|
; CHECK-NEXT:   00F0: 65006500 66006700 00006100 00006800  |e.e.f.g...a...h.|
; CHECK-NEXT:   0100: 6F006800 6F006800 6F000000 24000200  |o.h.o.h.o...$...|
; CHECK-NEXT:   0110: 01004600 69006C00 65005600 65007200  |..F.i.l.e.V.e.r.|
; CHECK-NEXT:   0120: 73006900 6F006E00 00000000 63000000  |s.i.o.n.....c...|
; CHECK-NEXT:   0130: 24000200 01004900 6E007400 65007200  |$.....I.n.t.e.r.|
; CHECK-NEXT:   0140: 6E006100 6C004E00 61006D00 65000000  |n.a.l.N.a.m.e...|
; CHECK-NEXT:   0150: 64000000 2A000300 01004C00 65006700  |d...*.....L.e.g.|
; CHECK-NEXT:   0160: 61006C00 43006F00 70007900 72006900  |a.l.C.o.p.y.r.i.|
; CHECK-NEXT:   0170: 67006800 74000000 65003000 00000000  |g.h.t...e.0.....|
; CHECK-NEXT:   0180: 2E000600 00004C00 65006700 61006C00  |......L.e.g.a.l.|
; CHECK-NEXT:   0190: 54007200 61006400 65006D00 61007200  |T.r.a.d.e.m.a.r.|
; CHECK-NEXT:   01A0: 6B007300 31000000 01000200 03000000  |k.s.1...........|
; CHECK-NEXT:   01B0: 2C000200 01004C00 65006700 61006C00  |,.....L.e.g.a.l.|
; CHECK-NEXT:   01C0: 54007200 61006400 65006D00 61007200  |T.r.a.d.e.m.a.r.|
; CHECK-NEXT:   01D0: 6B007300 32000000 67000000 2C000200  |k.s.2...g...,...|
; CHECK-NEXT:   01E0: 01004F00 72006900 67006900 6E006100  |..O.r.i.g.i.n.a.|
; CHECK-NEXT:   01F0: 6C004600 69006C00 65006E00 61006D00  |l.F.i.l.e.n.a.m.|
; CHECK-NEXT:   0200: 65000000 68000000 2A000500 01005000  |e...h...*.....P.|
; CHECK-NEXT:   0210: 72006F00 64007500 63007400 4E006100  |r.o.d.u.c.t.N.a.|
; CHECK-NEXT:   0220: 6D006500 00000000 61006200 00006300  |m.e.....a.b...c.|
; CHECK-NEXT:   0230: 00000000 28000400 00005000 72006F00  |....(.....P.r.o.|
; CHECK-NEXT:   0240: 64007500 63007400 56006500 72007300  |d.u.c.t.V.e.r.s.|
; CHECK-NEXT:   0250: 69006F00 6E000000 78563412 44000000  |i.o.n...xV4.D...|
; CHECK-NEXT:   0260: 01005600 61007200 46006900 6C006500  |..V.a.r.F.i.l.e.|
; CHECK-NEXT:   0270: 49006E00 66006F00 00000000 24000400  |I.n.f.o.....$...|
; CHECK-NEXT:   0280: 00005400 72006100 6E007300 6C006100  |..T.r.a.n.s.l.a.|
; CHECK-NEXT:   0290: 74006900 6F006E00 00000000 0904E404  |t.i.o.n.........|
; CHECK-NEXT: )


; RUN: not llvm-rc -no-preprocess /FO %t -- %p/Inputs/tag-versioninfo-mixed-ints-strings.rc 2>&1 | FileCheck %s --check-prefix STRINT
; STRINT: llvm-rc: Error in VERSIONINFO statement (ID 1):
; STRINT-NEXT: VALUE "FileDescription" cannot contain both strings and integers


; RUN: not llvm-rc -no-preprocess /FO %t -- %p/Inputs/tag-versioninfo-word-too-large.rc 2>&1 | FileCheck %s --check-prefix WORD
; WORD: llvm-rc: Error in VERSIONINFO statement (ID 1):
; WORD-NEXT: VERSIONINFO integer value (65536) does not fit in 16 bits.
